Conventional contact centers and self-service systems comprise a workflow engine which is pre-configured by an administrator or operator with parameters about how incoming contacts are to be dealt with. The workflow engine comprises scripts or rules for example which are used by the overall system for determining how to treat incoming contacts. The term “customer contact system” is used herein to refer to both contact centers (inbound, outbound or mixed contact centers) and self-service systems.
The term “self-service system” is used to refer to a system or application for enabling an end user or customer to make a communications contact in order to automatically receive services. Conventionally such self-service systems have previously used only voice communications over the public switched telephone network (PSTN) although other communications types and media can be used. Examples of self-service systems include an interactive voice response system (IVR) system, a system for playing recorded announcements to a caller; and a system for putting a caller on hold and offering music-on-hold.
The term “contact center” is used to refer to a system for receiving contacts and allocating those incoming contacts amongst a plurality of agent terminals for servicing. The contact can be of any suitable media type such as traditional voice calls, packet-based voice calls, emails, video calls, text messages, chat sessions and others. Contact centers can also be used to generate outbound contacts and in that case the contact center manages distribution of workload between the agents.
In order to provide treatments to contacts, traditional contact centers and self-service systems have used media servers under the control of the workflow engine. Once an administrator has decided upon a flow logic or method for treating contacts he or she has previously written a treatment script or created a set of rules to be executed by the workflow engine. This treatment script has then been executed as part of the operation of the contact center or self-service system in order to control the media server and treat contacts as required.
These conventional types of workflow engine and associated scripts are restrictive and have a significant drawback in that they tend to be proprietary to vendor systems and traditionally have only managed a single media—voice. Typically adding support for new commands and capabilities is cumbersome requiring updates to the Script Interpreter and Workflow Engine and finally the Media Server due to the proprietary nature of each component. This is time consuming and complex. In addition the tools available to the administrator for use in rewriting the script or rules are proprietary also. Scripts and in fact total solutions tend to be vendor specific for these reasons. These factors in combination have led to the result that workflow engine configuration has tended to be relatively static.